/*
*
* 回顾 :
* 时间复杂度
* 秘诀 : 执行次数
* O(1)  : 没有循环
* O(N)  : 一层循环
* O(logN) : 一层循环 并且在循环内部成倍的减少循环次数
* O(N^2): 两层循环
* O(2^N) : 出现在递归 细胞分裂
* O(N!) : 全排列
*
* 空间复杂度 :
* arr.push(1) // O(1)
* fori arr.push(i)
*
* */
/*
* 数据结构  :  链表 树
*
*
* 线性结构  : 糖葫芦  排队
* 非线性结构 : 树  铁轨  非线性  地图
*
*
* 数组 存储空间 : 连续的
* - 优点 : 改  查
* 栈 : 连续的 先进后出 后进先出
* -
* 队列 : 连续的
* - 
*
* 链表 : 线性的  非连续的 : fiber
* - 优点 : 增 删
*
*
* */
